Computing platforms evolve over time. Porting of applications to new computing platforms is not easy, for instance, due to unavailability of complete source code of an application to be ported. Binary translation is a technique that helps this transition process. Binary translation converts the binary code from one instruction set to another without requiring the high-level source code. Thus, even if the source code has been lost or was written in a language that is no longer supported, binary translation can help in migration of software to a new computing platform. Binary translation is primarily of two types: static and dynamic. Static binary translators perform a translation where an entire executable file is translated into an executable of the target computer platform. On the other hand, dynamic binary translators perform the translation of the code while the program is being executed by the translator.